{\rtf1\ansi\ansicpg936\deff0\nouicompat\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'ce\'a2\'c8\'ed\'d1\'c5\'ba\'da;}{\f1\fmodern\fcharset134 Microsoft YaHei;}{\f2\fmodern\fcharset0 Microsoft YaHei;}}
{\colortbl ;\red255\green0\blue0;}
{\*\generator Riched20 10.0.19041}\viewkind4\uc1 
\pard\sl240\slmult1\f0\fs32 concept:\par
API:\lang2052\par
===============================keys:end.\par
2022-10-14\par
\f1\fs28\par
\par
\f0\fs32\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
======================concept:\par
>>> genTemplate\par
input:  attrList\par
\par
\par
/awilly/src/main/java/wili/b1/attMaping/misc/misc.rtf\par
\par
\par
>>> genRule\par
>>> genToAttr:\par
\tab eg. gen expr.\par
writeAtt to file:\par
\par
>>> \'b1\'ed\'b4\'ef\'ca\'bd\'b5\'c4\'b9\'b9\'b3\'c9\par
\tab $\lang1033\{var1324\} \tab\lang2052\'c8\'f4\'b8\'c9\'b1\'e4\'c1\'bf\'b5\'c4\'d3\'eb\par
\tab #abc#\tab\tab\'c8\'f4\'b8\'c9#\'ba\'c5\'b4\'ae\'b5\'c4\'d3\'eb\par
\tab\lang1033 (\lang2052 #formulr#\lang1033 )\tab\lang2052\'d4\'ad\'b9\'ab\'ca\'bd\'b5\'c4\'d5\'bc\'ce\'bb\'b7\'fb\'a3\'ac\par
\par
\par
======================concept:end.\par
>>> config\par
\tab getOldFiles(), getNewFiles()\par
\tab getAttNames\lang1033 (), getAttKind(String name)\lang2052\par
>>> implements\par
\tab\par
\tab\par
>>> notice: oldAtt via id ~> newAtt, \par
\tab\tab so can't say fileA ~> fileB.\par
\par
2022-10-3\par
==========function:\par
\lang1033 >>> print template\par
\tab\lang2052\'b4\'ab\'c8\'eb\'bf\'d5\'b9\'e6\'d4\'f2\'a3\'ac\'cd\'ac\'ca\'b5\'c0\'fd\'ca\'f7\'ba\'cf\'b2\'a2\'ba\'f3\'a3\'ac\'c9\'fa\'b3\'c9\'b9\'e6\'d4\'f2\'ca\'f7\'a3\'ac\'d3\'b3\'c9\'e4\'d6\'b5\'c1\'f4\'bf\'d5\'a1\'a3\par
\lang1033\par
>>> generate rule\par
\lang2052\tab\'b1\'c8 print\'b6\'e0\'d2\'bb\'b8\'f6\'b4\'a6\'c0\'ed: \'b6\'d4\'c1\'f4\'bf\'d5\'b5\'c4\'d3\'b3\'c9\'e4\'d6\'b5\'a3\'a8\'d2\'b6\'a3\'a9\'a3\'ac\par
\tab\'b4\'d3\'b4\'fd\'d1\'a7\'cf\'b0\'b5\'c4\'c4\'bf\'b1\'ea\'ce\'c4\'bc\'fe\'d6\'d0\'b2\'e9\'d5\'d2\'d6\'b5\'a3\'ac\'cc\'ee\'b2\'b9\'d6\'ae\'a1\'a3\par
\lang1033\tab\lang2052\'d2\'f2\'ce\'aa\'b8\'b4\'d4\'d3\'d0\'d4\'a3\'ac\'c9\'fa\'b3\'c9\'b9\'e6\'d4\'f2\'b3\'a3\'d0\'e8\'d7\'a8\'bc\'d2\'be\'c0\'d5\'fd\'a1\'a3\lang1033\par
>>> check rule.\par
\tab\lang2052\'b4\'ab\'c8\'eb\'c8\'b7\'b6\'a8\'b9\'e6\'d4\'f2\'a1\'a3\'bc\'ec\'b2\'e2\'a3\'ba\par
\tab a. \'b9\'e6\'d4\'f2\'d6\'d0\'b2\'bb\'b4\'e6\'d4\'da\'b5\'c4\'d3\'b3\'c9\'e4\'d7\'e9\'ba\'cf\'a1\'a3\par
\tab b. \'cf\'e0\'cd\'ac\'ca\'f4\'d0\'d4\'d0\'f2\'c1\'d0\'b6\'d4\'d3\'a6\'b5\'bd\'b2\'bb\'cd\'ac\'b5\'c4\'d3\'b3\'c9\'e4\'d6\'b5\'a1\'a3\lang1033\par
>>> update file.\par
\tab\lang2052\'b4\'ab\'c8\'eb\'c8\'b7\'b6\'a8\'b9\'e6\'d4\'f2\'a1\'a3\'b8\'f9\'be\'dd\'b9\'e6\'d4\'f2\'a3\'acuddate\'d3\'b3\'c9\'e4\'d6\'b5\'a1\'a3\par
\tab\'bc\'ec\'b2\'e2\'a3\'ba\'b9\'e6\'d4\'f2\'d6\'d0\'b2\'bb\'b4\'e6\'d4\'da\'b5\'c4\'d3\'b3\'c9\'e4\'d7\'e9\'ba\'cf\'a1\'a3\par
==========function:end.\par
\par
>>> \'b1\'ed\'b4\'ef\'ca\'bd\'b5\'c4\'c7\'a8\'d2\'c6(formula\'ca\'f4\'d0\'d4\'a3\'a9\par
\fs24\tab\'cb\'e3\'b7\'fb\'b5\'c4\'b1\'e4\'bb\'af\tab and ~> &&, or ~>||,  eq ~>===, ...\par
\tab\'c0\'a8\'ba\'c5\'b5\'c4\'b1\'e4\'bb\'af\tab\{ab\} ~>$\{ab\},\tab\'a3\'fb..\} ~>\{=..\}\par
\tab\tab\'d5\'fd\'d4\'f2\'cc\'e6\'bb\'bb\'bf\'c9\'d2\'d4\'bd\'e2\'be\'f6\'cb\'e3\'b7\'fb\'ba\'cd\'c0\'a8\'ba\'c5\'a1\'a3\par
\tab\'d0\'c2\'d4\'f6\tab #ID#\par
\tab\'d2\'fd\'c8\'ebincludes\'ba\'af\'ca\'fd\'a1\'a3\par
\tab\tab a eq 11, a eq 12 ~>[11,12].inclucdes(a) \par
\tab\'b8\'c4\'d4\'ec \'b8\'f6\'b1\'f0eq\'b1\'ed\'b4\'ef\par
\tab\tab\{DocEntry\} eq null\par
\tab\tab\tab ~>[undefined, null].includes($\{/DocEntry\})\tab\par
\fs32 >>> \'d7\'d4\'b6\'af\'c9\'fa\'b3\'c9\'d3\'b3\'c9\'e4\'b9\'e6\'d4\'f2\'b5\'c4\'c4\'d1\'b5\'e3\'a1\'a3\par
\tab\'b9\'ab\'ca\'bd\'c8\'b1\'b7\'a6\'b1\'ea\'d7\'bc\'bb\'af\'b5\'c4\'b1\'ed\'b4\'ef\'a3\'ac\'b5\'bc\'d6\'c2\'d0\'e9\'bc\'d9\'b1\'a8\'b4\'ed\'a3\'ba\'b2\'bb\'d2\'bb\'d6\'c2\'b5\'c4\'d3\'b3\'c9\'e4\'a1\'a3\par
\tab\tab\'bf\'c9\'cd\'a8\'b9\'fd\'c2\'df\'bc\'ad\'ca\'bd\'b5\'c4\'b5\'c8\'bc\'db\'d0\'d4\'bc\'ec\'b2\'e2\'c0\'b4\'cd\'b3\'d2\'bb\'b1\'ed\'b4\'ef\'b9\'ab\'ca\'bd\'a3\'ac\par
\tab\tab\'b5\'ab\'d5\'e2\'d3\'d0\'b4\'ed\'ce\'f3\'c2\'ca\'a1\'a3\par
\tab\'d0\'c2\'d1\'f9\'b1\'be\'d6\'d0\'ba\'ac\'d3\'d0\'a3\'ba\'d0\'c2\'d4\'f6\'a3\'a8#id#\'b1\'ed\'b4\'ef\'ba\'cd\'b1\'e4\'c1\'bf\'b1\'ed\'b4\'ef\'a3\'a9\'a1\'a2\'be\'df\'cc\'e5\'b9\'ab\'ca\'bd\'a1\'a3\par
\tab\tab\'d0\'c2\'be\'c9\'b9\'ab\'ca\'bd\'d3\'ef\'b7\'a8\'d3\'d0\'d3\'d0\'b1\'e4\'bb\'af\'a1\'a3\par
\tab\tab\'ce\'de\'b7\'a8\'d7\'bc\'c8\'b7\'c7\'f8\'b7\'d6\'a1\'be\'b1\'e4\'c1\'bf\'b1\'ed\'b4\'ef\'a1\'bf\'ba\'cd\'be\'df\'cc\'e5\'b9\'ab\'ca\'bd\'a1\'a3\par
\par
\tab\par
>>> \'b8\'b4\'d4\'d3\'d3\'b3\'c9\'e4\'d6\'b5\'b5\'c4\'b9\'b9\'d4\'ec\'a1\'a3\par
\tab miscAtt\tab eg. \'c6\'a5\'c5\'e4\'ca\'b1\'c6\'e4\'d6\'b5\'b1\'e4\'ce\'aa #fomula#,\'ca\'d3\'ce\'aa\'cf\'e0\'cd\'ac\par
--------------------\par
>>> \'d3\'c3\'bb\'a7\'d0\'e8\'d2\'aa\'ca\'b5\'cf\'d6\'b5\'c4\'b7\'bd\'b7\'a8\'a1\'a3\par
\lang1033\tab\lang2052 implements Conf.java\par
\tab implements GenTemplateOrRule.java\par
\tab implements GenTemplateOrRule.java\par
\par
\tab\'b4\'d3\'be\'c9\'ce\'c4\'bc\'fe\'d6\'d0\'a1\'be\'bb\'f1\'c8\'a1\'cb\'f9\'d3\'d0\'b5\'c4\'ca\'f4\'d0\'d4\'d0\'f2\'c1\'d0\'a1\'bf\'a1\'a3\par
\tab\tab\'d5\'e2\'b8\'f6\'b9\'fd\'b3\'cc\'ba\'cd\'b9\'e6\'d4\'f2\'ba\'cf\'b2\'a2\'b5\'c4\'b9\'fd\'b3\'cc\'ca\'c7\'d2\'bb\'cc\'e5\'b5\'c4\'a3\'ac\'c4\'d1\'d5\'db\'bd\'e2\'a1\'a3\par
\tab gen \'d0\'e8\'d2\'aa\'a3\'ba\par
\tab\tab\'b8\'f9\'be\'dd\'ca\'f4\'d0\'d4\'d0\'f2\'c1\'d0\'a3\'ac\'b4\'d3\'d0\'c2\'ce\'c4\'bc\'fe\'d6\'d0\'a1\'be\'b2\'e9\'d5\'d2\'d3\'b3\'c9\'e4\'d6\'b5\'a1\'bf\'a1\'a3\tab\tab\par
\tab\'b6\'d4\'d3\'da check | update\'bb\'b9\'d0\'e8\'d2\'aa\'a3\'ba\par
\tab\tab\'c8\'f4\'d3\'b3\'c9\'e4\'cf\'ee\'b2\'bb\'b4\'e6\'d4\'da\'a3\'ac\'bb\'b9\'d0\'e8\'a1\'be\'b9\'b9\'d4\'ec\'d3\'b3\'c9\'e4\'cf\'ee\'a1\'bf\'a1\'a3\par
\tab\tab\'a1\'be\'b8\'fc\'d0\'c2\'d3\'b3\'c9\'e4\'d6\'b5\'a1\'bf\'a1\'a3\par
\cf1\tab\'b9\'ab\'ca\'bd\'b5\'c4\'b5\'c8\'bc\'db\'d0\'d4\'c5\'d0\'b6\'cf\'ca\'c7\'b1\'d8\'d0\'e8\'b5\'c4\'a1\'a3\cf0\par

\pard\sa200\sl276\slmult1\fs22 ----------------------\par
\par

\pard\sl240\slmult1\f2\fs24\lang1033 >>> \f1\lang2052\'be\'c9\'ca\'f4\'d0\'d4\'a1\'a2\'b9\'e6\'d4\'f2\'d6\'b5\'a1\'a2\'d0\'c2\'ca\'f4\'d0\'d4\'d6\'ae\'bc\'e4\'b5\'c4\'b9\'d8\'cf\'b5\'a1\'a3\f0\fs28\par

\pard\box\brdrdash\brdrw0 \sl240\slmult1\f1\fs24 newAtts =fun(oldAtts), \'c8\'eb\'b2\'ce\'b2\'bb\'d0\'e8\'d2\'aa\'d2\'fd\'c8\'ebcontext, \'d2\'f2\'ce\'aa\'be\'c9\'ca\'f4\'d0\'d4\'d0\'f2\'c1\'d0\'b0\'fc\'ba\'ac\'cb\'f9\'d3\'d0\'c8\'eb\'b2\'ce\'a1\'a3\par
\'b9\'e6\'d4\'f2\'d6\'b5\'ca\'c7\'d0\'c2\'d6\'b5\'b5\'c4\'c4\'a3\'ca\'bd\'b1\'ed\'b4\'ef\'a3\'ac\'bf\'c9\'ca\'d3\'ce\'aa\'c4\'b3\'d6\'d6\'d0\'ce\'ca\'bd\'b5\'c4\'ba\'af\'ca\'fd\'b1\'ed\'b4\'ef\'ca\'bd\'a3\'ba\par
\tab\'be\'df\'cc\'e5\'d0\'ce\'ca\'bd\'d3\'d0\'b3\'a3\'c1\'bf\'a1\'a2\'b1\'e4\'c1\'bf\'a1\'a2\'cb\'e3\'ca\'f5\'a1\'a2\'c6\'b4\'bd\'d3\'a1\'a2\'ba\'af\'ca\'fd\'a1\'a3\par
\'d2\'fd\'c8\'eb\'b9\'e6\'d4\'f2\'ba\'f3\'a3\'ac\'d0\'c2\'d6\'b5\tab =fun(\'b9\'e6\'d4\'f2\'d6\'b5\'a3\'ac\'be\'c9\'d6\'b5\'a3\'a9\par
\par
genTemplate \'ba\'f3\'a3\'ac\'b9\'e6\'d4\'f2\'d6\'b5\'d0\'e8\'d2\'aa\'b6\'a8\'d2\'e5\'a3\'ba\par
\tab =concat(\'d2\'fd\'c8\'eb\'d6\'b5, oldType)\'a3\'bb\'bb\'f2\'d5\'df=fun (oldType)\par
genRule\'ca\'b1\'a3\'ac\'b9\'e6\'d4\'f2\'d6\'b5\tab = relation(\'be\'c9\'d6\'b5\'a3\'ac\'d0\'c2\'d6\'b5)\'a3\'bb\par
\tab relation\'bf\'c9\'c8\'cb\'b9\'a4\'b6\'a8\'d2\'e5\'a3\'ac\'d2\'b2\'bf\'c9\'c0\'b4\'d7\'d4\'d3\'da\'bb\'fa\'c6\'f7\'d1\'a7\'cf\'b0.\par
\fs28 -----------------------\par
>>> in editable, genRule\'ca\'b1\par
\fs24\tab\'b9\'e6\'d4\'f2\'d6\'b5 =\'d0\'c2\'d6\'b5\'d6\'d0\'b5\'c4#\'ca\'bd && \'b1\'ed\'b4\'ef\'ca\'bd && formulaMod\par
\tab formulaMod =\'b4\'d3\'d0\'c2\'d6\'b5\'d6\'d0\'d5\'d2\'b5\'bd\'b9\'ab\'ca\'bd\'b2\'bf\'b7\'d6\'a3\'bf @formula@ : null.\par
\tab\'c8\'e7\'ba\'ce\'d5\'d2\'b5\'bd\'b9\'ab\'ca\'bd\'b2\'bf\'b7\'d6\'a3\'bf\'be\'c9\'b9\'ab\'ca\'bd\'b1\'e4\'d0\'c2\'b9\'ab\'ca\'bdfm\'a3\'ac\'b4\'d3\'be\'c9\'d6\'b5\'b5\'c4\'b1\'ed\'b4\'ef\'ca\'bd\'d6\'d0\'b2\'e9\'d5\'d2fm.\par
\tab\'c9\'fa\'b3\'c9\'b9\'e6\'d4\'f2\'d6\'b5\'ba\'f3\'a3\'ac\'b3\'a3\'d0\'e8\'d7\'a8\'bc\'d2\'bd\'c3\'d5\'fd\'a1\'a3\fs28\par
-----------------\par
\par

\pard\sa200\sl276\slmult1\f0\fs22\par
}
 